package com.info.zhiduoduo.repository.entity.partner;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 合伙人基本信息表
 * </p>
 *
 * @author bob
 * @since 2019-06-17
 */
@Data
@Accessors(chain = true)
@TableName("zdd_partner")
public class Partner extends Model<Partner> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "partnerid", type = IdType.AUTO)
    private Integer partnerid;
    /**
     * 手机号码
     */
    private String phone;
    /**
     * 邀请码
     */
    @TableField("invite_code")
    private String inviteCode;
    /**
     * 登陆名(微信端直接登陆)
     */
    private String loginname;
    /**
     * 密码
     */
    private String password;
    /**
     * 微信名
     */
    private String nickname;
    /**
     * 微信OPENID
     */
    private String openid;
    /**
     * 微信唯一标识
     */
    private String unionid;
    /**
     * 头像url
     */
    private String avatar;
    /**
     * 0未知1男2女
     */
    private Integer sex;
    /**
     * 1：微信 2：后台手动创建
     */
    private Integer regfrom;
    /**
     * 创客状态 1注册未绑定手机 2已绑定手机 3冻结 4解约
     */
    private Integer state;
    /**
     * 加密salt
     */
    private String salt;
    /**
     * 是否接收公告 0：正常 1：不接受
     */
    @TableField("notice_flag")
    private Integer noticeFlag;
    /**
     * 解约方式 1:自动解约 2:手动解约
     */
    @TableField("rescission_mode")
    private Integer rescissionMode;
    /**
     * 解约时间
     */
    @TableField("rescission_time")
    private Date rescissionTime;
    /**
     * 解约操作人员id
     */
    @TableField("rescission_admin_id")
    private Integer rescissionAdminId;
    /**
     * 逻辑删除 0：否 1：已删除
     */
    @TableLogic
    private Integer deleted;
    private Date createtime;

    /**
     * 创客实名认证 1.未认证 2:认证中 3:认证失败 4:已认证 5:已开户
     */
    @TableField(exist = false)
    private int authState;

    /**
     * 认证失败原因
     */
    @TableField(exist = false)
    private String authReason;

    /**
     * 是否已经绑定的银行卡
     */
    @TableField(exist = false)
    private int hasBankcard;

    @Override
    protected Serializable pkVal() {
        return this.partnerid;
    }

}
